import express from 'express';
import cors from 'cors';
import helmet from 'helmet';
import dotenv from 'dotenv';
import { connectDB } from 'common/src/config/database';
import { initializeDatabase } from 'common/src/config/initDatabase';

// 加载环境变量
dotenv.config();

const app = express();
const port = process.env.ADMIN_API_PORT || 3002;

// 中间件
app.use(cors());
app.use(helmet());
app.use(express.json());
app.use(express.urlencoded({ extended: true }));

// 路由
// TODO: 添加路由

// 错误处理中间件
app.use((err: any, req: express.Request, res: express.Response, next: express.NextFunction) => {
  console.error(err.stack);
  res.status(500).json({ message: '服务器内部错误' });
});

// 启动服务器
const startServer = async () => {
  try {
    // 连接数据库
    await connectDB();
    
    // 初始化数据库表
    await initializeDatabase();
    
    app.listen(port, () => {
      console.log(`管理系统后端服务器运行在 http://localhost:${port}`);
    });
  } catch (error) {
    console.error('服务器启动失败:', error);
    process.exit(1);
  }
};

startServer(); 